package com.heima.article.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.heima.model.article.dtos.ArticleCommentDto;
import com.heima.model.article.dtos.ArticleHomeDto;
import com.heima.model.article.pojos.ApArticle;
import com.heima.model.article.vos.ArticleCommnetVo;
import com.heima.model.wemedia.dtos.StatisticsDto;
import com.heima.model.wemedia.dtos.StatisticsPageDto;
import com.heima.model.wemedia.dtos.WmStatisticDto;
import com.heima.model.wemedia.vos.WmStatisticsVOs;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface ApArticleMapper extends BaseMapper<ApArticle> {

    /**
     * 加载文章列表
     * @param dto
     * @param type  1 加载更多 2.加载最新
     * @return
     */
    public List<ApArticle> loadArticleList(ArticleHomeDto dto, Short type);


    public List<ApArticle> findArticleListByLast5Day(@Param("dayParam") Date dayParam);


    List<ArticleCommnetVo> findNewsComments(@Param("dto") ArticleCommentDto dto);

    int findNewsCommentsCount(@Param("dto")  ArticleCommentDto dto);

    /**
     * 获取图文数据 (点赞和评论)
     * @param dto
     * @return
     */
    WmStatisticsVOs queryLikesAndCollections(@Param("dto") WmStatisticDto dto);

    /**
     * 分页查询评论的图文统计
     * @param dto
     * @return
     */
    List<ApArticle> newPage(@Param("dto") StatisticsPageDto dto);

    int newPageCount(@Param("dto")StatisticsPageDto param);
}
